The present invention relates in general to the field of computers and similar technologies, and in particular to software utilized in this field.
One of the primary goals for a Configuration Management Database (or CMDB) is to provide support for configuration items (or resources) as defined by the IT Infrastructure Library (or ITIL). Chapter 7 of the ITIL Service and Support specification, which is herein incorporated by reference in its entirety, gives the details of this support.
Along with representing and storing relationships between resources, another important purpose of the CMDB is to provide a correlation mechanism between resources. For example, two management products may discover a single computer system, and yet call them different names. Thus, it is important to represent this single computer system as a single resource. In order to foster consistent identification of resources in the CMDB, a CMDB Common Data Model (CDM) formally defines the ways in which each type of resource (each class) is identified through the use of naming rules. These rules list the potential attributes that provide identifying characteristics, the combination of those attributes that are needed to identify the resource, and what the context is that makes that combination unique. For example, there might be a rule that says that combining “Manufacturer,” “MachineType,” “Model,” and “SerialNumber” give a unique identification of a Computer System. For some types of resources, a simple combination of attributes is not sufficient to uniquely identify a resource without some other context. For example, the drive letter (like “C:”) of a logical disk is not sufficient to give a unique identification. However, the drive letter is unique within the context of an Operating System instance. This means that the naming rule of a logical disk uses an Operating System as the naming context, which is referred to as a “superior”. Adding a superior to a naming rule addresses the unique identification problem. However, it introduces additional challenge in name reconciliation process. That is, when the name of a superior is changed, all resources named after the superior must also be identified and changed.
Some management products may have a limited view of a resource and be unable to obtain all attributes needed by a naming rule. To accommodate these management products, CMDB must support multiple naming rules for a number of classes. This allows different management products that discover the same resource to use different naming rules to name the same resource. That is, some classes of resources will have multiple valid names. CMDB must tolerate and facilitate the correlation of multiple names of the same resource. When the naming rules overlap, CMDB also needs to detect that a newly discovered resource already exists in the CMDB as long as at least one of the naming rules used to name the newly discovered resource was used previously, and fix potential duplicate name instances.
While there are many known solutions to the naming problem in general, and even some that specify “rules” for how the name is formed (such as the X.500 standard from OSI or the CIM standard from the DMTF), these solutions only determine how the name is formed, and not how multiple aliases for the name are formally correlated. That is, existing solutions do not deal with correlating multiple aliases for the same managed resource.